/*
 * Copyright 2006-2025 www.anyline.org
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.anyline.metadata;

import org.anyline.metadata.type.DatabaseType;

import java.util.List;

public interface SystemFunction {
    /**
     * 注意项目中要用引用这里的枚举值，随即随时会合并或改名
     */
    enum META{
        ABS("绝对值"),
        ACOS("弧余弦"),
        ACOSD("反余弦,结果为度数"),
        ACOSH("反双曲余弦"),
        ADD_DATE("添加日期"),  //DATE_ADD
        ADD_TIME("添加时间"),  //TIME_ADD
        ADD_MONTHS("添加月份"),
        ALTER_LEVEL("修改级别全称名"),
        ALTER_POLICY("修改一个安全策略的策略选项"),
        ALTER_COMPARTMENT("修改安全隔间全称名"),
        ALTER_TABLE_CONTROL("修改表级控制属性"),
        ALTER_ROW_CONTROL("修改行级控制选项"),
        ALTER_COLUMN_CONTROL("修改列级控制"),
        ALTER_TAB_CONTROL_BASE_TIME("修改基于时间段的列集合访问控制时间间隔"),
        AES_DECRYPT("AES 解密"),
        AES_ENCRYPT("AES 加密"),
        ANY_VALUE(""),
        APPLY_TABLE_POLICY("应用安全策略到表"),
        APPLY_TABLE_CONTROL("应用表级控制"),
        APPLY_ROW_CONTROL("应用行级控制"),
        APPLY_COLUMN_CONTROL("应用列级控制"),
        APPLY_COLUMN_CONTROL_CONSTRAINT("应用列级控制推理约束"),
        APPROX_COUNT("表达式的近似计数"),
        APPROX_COUNT_DISTINCT("包含不同 expr 值的行数"),
        APPROX_COUNT_DISTINCT_AGG("将包含有关近似非重复值计数的信息的详细信息列作为其输入，并能够执行这些计数的聚合"),
        APPROX_COUNT_DISTINCT_DETAIL("计算包含不同expr值的行数的近似信息，并返回一个称为detail的BLOB值，该值以特殊格式包含该信息"),
        APPROX_MEDIAN("一个近似的中间值或一个近似插值"),
        APPROX_PERCENTILE("百分位数值会落入该百分比值"),
        APPROX_PERCENTILE_AGG("将包含近似百分位信息的详细信息列作为其输入，并能够执行该信息的聚合"),
        APPROX_PERCENTILE_DETAIL("计算 expr 值的近似百分位数信息"),
        APPROX_RANK("一组值中的近似值"),
        APPROX_SUM("表达式的近似和"),
        AREA("计算面积"),
        ARRAY_TO_TSVECTOR("将文本字符串数组转换为 .给定的字符串按原样用作词位"),
        HEAD_ASCII("第一个字符的ASCII值"),
        ASCII("第一个字符的ASCII值"),
        ASIN("弧正弦"),
        ASIND("逆正弦，结果为度数"),
        ASINH("逆双曲正弦"),
        ASYNCHRONOUS_CONNECTION_FAILOVER_ADD_MANAGED("将组成员源服务器配置信息添加到 复制通道源列表"),
        ASYNCHRONOUS_CONNECTION_FAILOVER_ADD_SOURCE("将源服务器配置信息服务器添加到 复制通道源列表"),
        ASYNCHRONOUS_CONNECTION_FAILOVER_DELETE_MANAGED("从复制通道源列表中删除托管组"),
        ASYNCHRONOUS_CONNECTION_FAILOVER_DELETE_SOURCE("从复制通道源列表中删除源服务器"),
        ASYNCHRONOUS_CONNECTION_FAILOVER_RESET("删除与异步组复制相关的所有设置 故障转移"),
        ATAN("圆弧切线"),
        ATAND("反正切，结果以度数为单位"),
        ATANH("反双曲正切"), //atanh(0.5)→0.5493061443340548
        ATAN2("两个参数的圆弧切线"),
        ATAN2D("反正切，结果为度数"),
        AVG("平均值"),
        BENCHMARK("重复执行表达式"),
        BETWEEN_AND("否在值范围内"),
        BINARY("包含数字二进制表示的字符串"),
        BFILE_NAME("获取BFILE类型文件路径"),
        BINARY_TO_UUID("二进制 UUID 转换为字符串"),
        BIN_TO_NUM("二进制位转换为十进制数"),
        BINCHAR(""),
        BOX_BOUND("计算两个盒子的边界盒"),
        BOX_CIRCLE("计算最小的圆围盒"),
        BOX_HEIGHT("计算框的垂直尺寸"),
        BOX_WIDTH("计算框的水平大小"),
        STRING_TO_BINARY("字符串转换为二进制字符串"),
        STRING_TO_TABLE("在出现分隔符时拆分字符串，并将结果字段作为一组行返回"),
        BIT_AND("按位 AND"),
        BIT_COUNT("位数"),
        BIT_LENGTH("长度(以BIT为单位)"),
        BIT_OR("按位或"),
        BIT_XOR("按位异或"),
        CAN_ACCESS_COLUMN(""),
        CAN_ACCESS_DATABASE(""),
        CAN_ACCESS_TABLE(""),
        CAN_ACCESS_USER(""),
        CAN_ACCESS_VIEW(""),
        CASE("CASE WHEN"),
        CASE_FOLD("C根据排序规则执行输入字符串的大小写折叠"),
        CAST("值强制转换为特定类型"),
        CBRT("立方根"),
        CEIL("不小于参数的最小整数值"),
        CEILING("不小于参数的最小整数值", CEIL),
        CENTER("中心点"),
        CHAR("int转字符"),
        CHR("int转字符", CHAR),
        CHAR_LENGTH("字符数"),
        CHARACTER_LENGTH("字符数", CHAR_LENGTH),
        CHAR_INDEX("字符或者字符串在另一个字符串中的起始位置"),
        CHARSET("字符集"),
        CHAR_TO_ROWID("字符串值转换为 ROWID 数据类型"),
        CLIENT_ENCODING("当前客户端编码名称"),
        COERCIBILITY("字符串参数的排序规则强制性值"),
        COLLATION("字符串参数的排序规则"),
        COMPOSE("将 Unicode 规范组合应用于给定的字符串参数的结果"),
        DECOMPOSE("将一个 Unicode 分解应用于给定的参数的结果"),
        COMPRESS("以二进制字符串的形式"),
        CONCAT("串联字符串"),
        CONCAT_WS("用分隔符连接字符串"), //concat_ws(',','11','22');  11,22
        CONNECTION_ID("当前连接ID"),
        CONVERT_NUMBER("不同进制(2-36)之间转换数字"),
        CONVERT("将值强制转换为特定类型"),
        CONVERT_FROM("将表示编码src_encoding文本的二进制字符串转换为数据库编码中的文本"), //convert_from('text_in_utf8', 'UTF8')→text_in_utf8,
        CONVERT_TO("将字符串（在数据库编码中）转换为以编码dest_encoding编码的二进制字符串"),
        CONVERT_TZ("从一个时区转换为另一个时区"),
        CONVERT_DBID_TO_ID(""),
        CONVERT_GUID_TO_ID(""),
        CONVERT_NAME_TO_ID(""),
        CONVERT_UID_TO_ID(""),
        INVOKING_USER(""),
        INVOKING_USER_ID(""),
        COS("余弦"),
        COSH("双曲余弦"),
        COSD("参数的元素的余弦,以度为单位"),
        COT("余切"),
        COTD("余切函数，以度为单位的参数"),  //cotd(45) > 1
        COUNT("行数计数"),
        COUNT_NOT_NULL("非空参数的数量"),
        COUNT_NULL("空参数的数量"),
        COLLECT("置于 CAST 函数内部使用"),
        CRC32("循环冗余校验值"),
        CRC32C("计算二进制字符串的 CRC-32C 值"),
        CREATE_LEVEL("创建一个安全级别"),
        CREATE_POLICY("创建一个安全策略"),
        CREATE_COMPARTMENT("创建一个安全隔间"),
        CUME_DIST("累积分布概率"),
        CURRENT_DATE("当前日期"),
        CURRENT_ROLE("当前活动角色"),
        CURRENT_SETTING("查看某个参数值"),
        CURRENT_TIME("当前时间"),
        CURRENT_TIMESTAMP("当前时间戳"),
        CURRENT_DATETIME("当前时间"),
        CURRENT_DATABASE("数据库名称"),
        CURRENT_DATABASE_ID("当前连接的数据库 id"),
        CURRENT_SCHEMA("当前 schema"),
        CURRENT_SCHEMAS("schema 搜索路径"),
        CURRENT_SESSION_ID("显示当前用户的连接号"),
        CURRENT_USER("当前用户"),
        CURRENT_USER_ID("当前用户ID"),
        CURR_VAL("序列值"),
        DATA_OBJECT_TO_MAT_PARTITION("数据对象映射到物化视图分区"),
        DATA_OBJECT_TO_PARTITION("域索引数据的存储位置"),
        DATE("提取日期或日期时间表达式的日期部分"),
        DATE_ADD("将时间值（间隔）添加到日期值", ADD_DATE),
        DATE_BIN("输入到与指定原点对齐的指定区间"),
        DATE_DIFF("时间差"),
        DATE_MI("计算两个 DATE 值相差的天数"),
        DATE_FORMAT("按指定格式设置日期"),
        DATE_PLI("将指定的日期增加指定的天数", DATE_ADD),
        DATE_MII("将指定的日期减去指定的天数"),
        DATE_PART("获取给定日期的指定子域值"),
        DATE_SUB("从日期中减去时间值"),
        DATE_TRUNCATE("给定一个日期，截断成指定的精度"),
        DATE_SMALLER("最小日期"),
        DATE_LARGER("最大日期"),
        DAY_OF_MONTH("月份中的某一天"),
        DAY_NAME("工作日的名称"),
        DAY_OF_WEEK("工作日索引"),
        DAY_OF_WEEK_ISO("工作日索引"),
        DAY_OF_YEAR("一年中的某一天"),
        DAYS("得到指定日期与 0001 年 1 月 1 日的天数差值"),
        DECODE("将指定的字符串以特定的解码规则解码"),
        DEFAULT("表列的默认值"),
        DEGREES("弧度转换为度数"),
        DENSE_RANK("分区内当前行的排名"),
        DEPTH("条件指定的路径中具有相同相关变量的级别数"),
        DIAMETER("计算圆的直径"),
        DIAGONAL("将框的对角线提取为线段"),
        DIFFERENCE("求两个字符串的读音相似性"),
        DIV("整数除法"),
        DM_PARTITION_NAME("与输入行关联的分区名称"),
        DROP_POLICY("删除一个安全策略"),
        DROP_LEVEL_BY_NAME("删除一个级别"),
        DROP_COMPARTMENT_BY_NAME("删除一个安全隔间"),
        DROP_TAB_CONTROL_BASE_TIME("删除基于时间段的列集合访问控制"),
        DST_AFFECTED("解析为一个带时区的TIMESTAMP值"),
        DST_CONVERT("指定的日期时间表达式指定错误处理方式"),
        DST_ERROR("解析为一个 TIMESTAMP WITH TIME ZONE 值 并指示新的日期时间值是否会导致时区数据出错"),
        DUMP("包含数据类型代码、字节长度和expr内部表示的值"),
        ELT("参数列表中指定位置的字符串"), //ELT(n, str1, str2, ..., strn) 返回第n个字符串
        EMPTY_BLOB("对 BLOB 定位符进行初始化"),
        EMPTY_CLOB("对 CLOB 定位符进行初始化"),
        ENABLE_POLICY("修改一个安全策略的可用状态"),
        ENABLE_TABLE_POLICY("修改策略应用状态"),
        ENCODE("将二进制串进行编码"), //ENCODING('0x1011', 'HEX');
        ENUM_FIRST("枚举类型的第一个值"),
        ENUM_LAST("枚举类型的最后一个值"),
        ENUM_RANGE("两个给定枚举值之间的范围"),
        ERF("误差"), //PG
        ERFC("互补误差"), //PG
        EXISTS("查询结果是否包含任何行"),
        EXISTS_NODE("通过指定路径遍历XML文档是否会得到任何节点"),
        EXP("自然对数的底数e的指定次幂"),
        EXPORT_SET("将整数转换为由指定字符串分隔的二进制位表示"),
        EXTRACT("获取子域"), //EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40') > 16
        EXTRACT_DATE_PART("提取日期的一部分"), //EXTRACT(YEAR FROM '2025-11-15') AS year;
        EXTRACT_VALUE("使用 XPath 表示法从 XML 字符串中提取值"), //EXTRACTVALUE('<a><b>NAME</b></a>', '/a/b'); -- 返回 'NAME'
        FACTORIAL("阶乘"),
        FEATURE_COMPARE("使用特征提取模型来比较两个不同的文档"),
        FEATURE_DETAILS("选择中每一行的返回功能细节"),
        FEATURE_ID("选择中每一行最高值特征的标识符"),
        FEATURE_SET("所选中每一行的一组要素 ID 和要素值对"),
        FEATURE_VALUE("所选中每一行的要素值"),
        FIELD("一个值(value)在给定列表(val1, val2, ...)中第一次出现的索引"), // INDEX OF,
        FIND_IN_SET("第二个参数中第一个参数的索引"),
        FIRST_VALUE("第一行的参数值"),
        FIRST_ROW("第一行"),
        GROUP_ID(""),
        GROUPING_ID(""),
        FLOOR("不大于参数的最大整数值"),
        FORMAT("格式化为指定小数位数的数字"),
        STRING_FORMAT("根据格式字符串格式化的输出"),
        FORMAT_BYTES("将字节计数转换为带单位的值"),
        FORMAT_PICO_TIME("将以皮秒为单位的时间转换为带单位的值"),
        FOUND_ROWS("最近一次SELECT查询返回的行数"),
        FROM_BASE64("解码base64"),
        FROM_DAYS("将日数转换为日期"),
        FROM_UNIX_TIME("将 Unix 时间戳格式化为日期"),
        FROM_TZ("将一个 TIMESTAMP 类型的值与时区信息组合"),
        GAMMA("伽马"),//PG gamma(0.5)→1.772453850905516
        GCD("最大公约数"),//PG
        GEOMETRY_COLLECTION("从几何构造几何集合"),
        GET_BIT("从二进制字符串中提取第 n 位"),
        GET_BYTE("从二进制字符串中提取第 n 个字节"),
        GET_CURRENT_TS_CONFIG("当前默认文本搜索配置的 OID"),
        GET_DD_COLUMN_PRIVILEGES(""),
        GET_DD_CREATE_OPTIONS(""),
        GET_DD_INDEX_SUB_PART_LENGTH(""),
        GET_DATE_TIME_FORMAT("日期或时间格式字符串"), //GET_FORMAT(DATE,'USA') > %m.%d.%Y    GET_FORMAT(DATE,'ISO') > '%Y-%m-%d'  GET_FORMAT(TIME,'ISO') > '%H:%i:%s'
        GET_UTC_DATE("获取当前格林尼治标准时间"),
        GET_LOCK("获取命名锁"),
        GET_TZ("获取当前数据库的时区"),
        GREATEST("最大参数"),
        GROUP_CONCAT("串联分组字符串"),
        GROUP_REPLICATION_DISABLE_MEMBER_ACTION("禁用指定事件的成员作"),
        GROUP_REPLICATION_ENABLE_MEMBER_ACTION("为指定的事件启用成员作"),
        GROUP_REPLICATION_GET_COMMUNICATION_PROTOCOL("获取当前组复制通信协议的版本"),
        GROUP_REPLICATION_GET_WRITE_CONCURRENCY("获取当前为组设置的最大共识实例数"),
        GROUP_REPLICATION_RESET_MEMBER_ACTIONS("将所有成员作重置为默认值和配置版本 数字变为 1"),
        GROUP_REPLICATION_SET_AS_PRIMARY("将特定组成员设为主要组成员"),
        GROUP_REPLICATION_SET_COMMUNICATION_PROTOCOL("设置要使用的组复制通信协议的版本"),
        GROUP_REPLICATION_SET_WRITE_CONCURRENCY("设置可在 平行"),
        GROUP_REPLICATION_SWITCH_TO_MULTI_PRIMARY_MODE("将以单主模式运行的组的模式更改为 多主模式"),
        GROUP_REPLICATION_SWITCH_TO_SINGLE_PRIMARY_MODE("将以多主模式运行的组的模式更改为 单主模式"),
        GROUPING("区分超聚合 ROLLUP 行和常规行"),
        HASH("计算给定表达式哈希值"),
        STANDARD_HASH("计算给定表达式哈希值"),
        HEX("十进制或字符串值的十六进制表示"),
        HEX_TO_RAW("将由参数给定的十六进制值转为原始值"),
        RAW_TO_HEX("将原始值转换为一个包含其十六进制表示的字符值"),
        RAW_TO_NHEX("将原始值转换为一个包含其十六进制表示的字符值"),
        ROW_ID_TO_CHAR("rowid 值转为 VARCHAR2 类型"),
        ROW_ID_TO_NCHAR("rowid 值转为 VARCHAR2 类型"),
        HOUR("提取小时"),
        ICU_VERSION("ICU库版"),
        IF("IF"),
        IF_NULL_C("是否NULL"), //如果第一个字符串不为空，则返回第一个字符串，否则返回第二个字符串，若两者都为空，则返回空。
        IF_ELSE(""), //ORACLE中的DECODE DECODE(2, 1, 'a', 2, 'b', 'z');
        IN("值是否在一组值中"),
        INET_ATON("将标准的点分十进制IP地址转换为无符号整数"),
        INET_NTOA("将无符号整数转换为IPv4地址字符串"),
        INNER_BOX("内接框"),
        INSERT("在指定位置插入子字符串"),
        INSTR("第一次出现的子字符串的索引"),
        INSERT_TEXT("用一个字符串替换另一个字符串中指定位置指定长度的子串"), //INSERT_TEXT('insert test', 8, 4, 'another') > insert another
        INSERT_TEXT_C("从指定的位置，删除指定的长度，再加入指定的字符串"), //INSERT_TEXT_C ('EXECUTE', 3, 1, 'AMPLE') > EXAMPLECUTE
        INTERNAL_AUTO_INCREMENT(""),
        INTERNAL_AVG_ROW_LENGTH(""),
        INTERNAL_CHECK_TIME(""),
        INTERNAL_CHECKSUM(""),
        INTERNAL_DATA_FREE(""),
        INTERNAL_DATA_LENGTH(""),
        INTERNAL_DD_CHAR_LENGTH(""),
        INTERNAL_GET_COMMENT_OR_ERROR(""),
        INTERNAL_GET_ENABLED_ROLE_JSON(""),
        INTERNAL_GET_HOSTNAME(""),
        INTERNAL_GET_USERNAME(""),
        INTERNAL_GET_VIEW_WARNING_OR_ERROR(""),
        INTERNAL_INDEX_COLUMN_CARDINALITY(""),
        INTERNAL_INDEX_LENGTH(""),
        INTERNAL_IS_ENABLED_ROLE(""),
        INTERNAL_IS_MANDATORY_ROLE(""),
        INTERNAL_KEYS_DISABLED(""),
        INTERNAL_MAX_DATA_LENGTH(""),
        INTERNAL_TABLE_ROWS(""),
        INTERNAL_UPDATE_TIME(""),
        INTERVAL("小于第一个参数的索引"),
        INTERVAL_YTM_COMPARE("比较两个 intervalytm 值"),
        INTERVAL_YTM_LARGER("比较两个 INTERVALYTM 值, 返回较大的值"),
        INTERVAL_YTM_SMALLER("比较两个 INTERVALYTM 值, 返回较小的值"),
        INTERVAL_DTS_COMPARE("比较两个 INTERVALDTS 值"),
        INTERVAL_DTS_LARGER("比较两个 INTERVALDTS 值, 返回较大的值"),
        INTERVAL_DTS_SMALLER("比较两个 INTERVALDTS 值, 返回较小的值"),
        IP_ABBREV("将缩写的显示格式创建为文"),
        IP_BROADCAST("计算地址网络的广播地址"),
        IP_VERSION("IP版本"),
        IP_HOST("以文本形式返回 IP 地址，忽略网络掩码"),
        IP_HOST_MASK("计算地址网络的主机掩码"),
        IP_INET_MERGE("计算包含两个给定网络的最小网络"),
        IP_INET_SAME_FAMILY("测试地址是否属于同一IP系列"),
        IP_MASK_LENGTH("网络掩码长度（以位为单位）"),
        IP_NETMASK("计算地址网络的网络掩码"),
        IP_NETWORK("地址的网络部分，将网络掩码右侧的任何内容归零"),
        IP_SET_MASK_LENGTH("设置值的网络掩码长度。地址部分不变"),
        IP_TEXT("以文本形式返回未缩写的 IP 地址和网络掩码长度"),
        IS("针对布尔值测试值"),
        IS_FINITE("否是有穷的日期时间"),
        IS_FREE_LOCK("命名锁是否空闲"),
        IS_NOT(""),
        IS_NOT_NULL(""),
        IS_NULL(""),
        IS_USED_LOCK("命名锁是否正在使用中"),
        IS_UUID("否为有效 UUID"),
        IS_FALSE("判断一个 bool 值是否为 FALSE"),
        IS_NOT_FALSE("判断一个 bool 值是否不为 FALSE"),
        IS_TRUE("判断一个 bool 值是否为 TRUE"),
        IS_NOT_TRUE("判断一个 bool 值是否不为 TRUE"),
        JUSTIFY_DAYS("调整间隔，将 30 天的时间段转换为月份"),
        JUSTIFY_HOURS("调整间隔，将 24 小时时间段转换为天"),
        JUSTIFY_INTERVAL("使用 和 调整间隔，并进行额外的符号调整"),
        JSON_ARRAY("创建 JSON 数组"),
        JSON_ARRAY_APPEND("将数据附加到 JSON"),
        JSON_ARRAY_INSERT("插入 JSON 数组"),
        JSON_ARRAY_AGG("将结果集作为单个 JSON 数组"),
        JSON_CONTAINS("JSON在PATH上是否包含特定对象"),
        JSON_CONTAINS_PATH("JSON是否在PATH上包含任何数据"),
        JSON_DEPTH("JSON的最大深度"),
        JSON_EXTRACT("从JSON提取数据"),
        JSON_INSERT("将数据插入JSON"),
        JSON_KEYS("JSON中的键数组"),
        JSON_LENGTH("JSON中的元素数"),
        JSON_MERGE("合并 JSON，保留重复的键"),
        JSON_MERGE_PATCH("合并 JSON，替换重复键的值"),
        JSON_MERGE_PRESERVE("合并 JSON，保留重复的键"),
        JSON_OBJECT("创建 JSON 对象"),
        JSON_OBJECT_AGG("将结果集作为单个JSON对象"),
        JSON_OVERLAPS("比较两个 JSON，如果它们有任何 键值对或数组元素"),
        JSON_PRETTY("以可读的格式打印JSON"),
        JSON_QUOTE("将字符串转换为JSON格式"),
        JSON_REMOVE("从JSON中删除数据"),
        JSON_REPLACE("替换JSON中的值"),
        JSON_SCHEMA_VALID("根据JSON模式验证JSON"),
        JSON_SCHEMA_VALIDATION_REPORT("根据JSON模式验证JSON"),
        JSON_SEARCH("在JSON文档中搜索指定字符串"),
        JSON_SET("将数据插入JSON"),
        JSON_STORAGE_FREE("JSON 列值的二进制表示形式内释放的空间"),
        JSON_STORAGE_SIZE("用于存储JSON的二进制表示的空间"),
        JSON_TABLE("将JSON表达式中的数据作为关系表"),
        JSON_TO_TS_VECTOR("根据指定或默认配置对单词进行规范化。"),
        JSON_TYPE("JSON值的类型"),
        JSON_UNQUOTE("取消引用JSON值"),
        JSON_VALID("JSON值是否有效"),
        JSON_VALUE("从路径指向的位置的JSON中提取值"),
        TO_JSON("TO_JSON"),
        TO_JSONB("TO_JSONB"),
        ARRAY_TO_JSON("ARRAY_TO_JSON"),
        ROW_TO_JSON("ROW_TO_JSON"),
        JSON_BUILD_ARRAY("JSON_BUILD_ARRAY"),
        JSON_BUILD_OBJECT("JSON_BUILD_OBJECT"),
        JSONB_OBJECT("JSONB_OBJECT"),
        JSON_SCALAR("JSON_SCALAR"),
        JSON_SERIALIZE("JSON_SERIALIZE"),
        JSON_ARRAY_ELEMENTS("JSON_ARRAY_ELEMENTS"),
        JSONB_ARRAY_ELEMENTS("JSONB_ARRAY_ELEMENTS"),
        JSON_ARRAY_ELEMENTS_TEXT("JSON_ARRAY_ELEMENTS_TEXT"),
        JSONB_ARRAY_ELEMENTS_TEXT("JSONB_ARRAY_ELEMENTS_TEXT"),
        JSON_ARRAY_LENGTH("JSON_ARRAY_LENGTH"),
        JSONB_ARRAY_LENGTH("JSONB_ARRAY_LENGTH"),
        JSON_EACH("JSON_EACH"),
        JSONB_EACH("JSONB_EACH"),
        JSON_EACH_TEXT("JSON_EACH_TEXT"),
        JSONB_EACH_TEXT("JSONB_EACH_TEXT"),
        JSON_EXTRACT_PATH("JSON_EXTRACT_PATH"),
        JSONB_EXTRACT_PATH("JSONB_EXTRACT_PATH"),
        JSON_EXTRACT_PATH_TEXT("JSON_EXTRACT_PATH_TEXT"),
        JSONB_EXTRACT_PATH_TEXT("JSONB_EXTRACT_PATH_TEXT"),
        JSON_OBJECT_KEYS("JSON_OBJECT_KEYS"),
        JSONB_OBJECT_KEYS("JSONB_OBJECT_KEYS"),
        JSON_POPULATE_RECORD("JSON_POPULATE_RECORD"),
        JSONB_POPULATE_RECORD("JSONB_POPULATE_RECORD"),
        JSONB_POPULATE_RECORD_VALID ("JSONB_POPULATE_RECORD_VALID "),
        JSON_POPULATE_RECORDSET("JSON_POPULATE_RECORDSET"),
        JSONB_POPULATE_RECORDSET("JSONB_POPULATE_RECORDSET"),
        JSON_TO_RECORD("JSON_TO_RECORD"),
        JSONB_TO_RECORD("JSONB_TO_RECORD"),
        JSON_TO_RECORDSET("JSON_TO_RECORDSET"),
        JSONB_TO_RECORDSET("JSONB_TO_RECORDSET"),
        JSONB_SET("JSONB_SET"),
        JSONB_SET_LAX("JSONB_SET_LAX"),
        JSONB_INSERT("JSONB_INSERT"),
        JSON_STRIP_NULLS("JSON_STRIP_NULLS"),
        JSONB_STRIP_NULLS("JSONB_STRIP_NULLS"),
        JSONB_PATH_EXISTS("JSONB_PATH_EXISTS"),
        JSONB_PATH_MATCH("JSONB_PATH_MATCH"),
        JSONB_PATH_QUERY("JSONB_PATH_QUERY"),
        JSONB_PATH_QUERY_ARRAY("JSONB_PATH_QUERY_ARRAY"),
        JSONB_PATH_QUERY_FIRST("JSONB_PATH_QUERY_FIRST"),
        JSONB_PATH_EXISTS_TZ("JSONB_PATH_EXISTS_TZ"),
        JSONB_PATH_MATCH_TZ("JSONB_PATH_MATCH_TZ"),
        JSONB_PATH_QUERY_TZ("JSONB_PATH_QUERY_TZ"),
        JSONB_PATH_QUERY_ARRAY_TZ("JSONB_PATH_QUERY_ARRAY_TZ"),
        JSONB_PATH_QUERY_FIRST_TZ("JSONB_PATH_QUERY_FIRST_TZ"),
        JSONB_PRETTY("JSONB_PRETTY"),
        JSON_TYPEOF("JSON_TYPEOF"),
        JSONB_TYPEOF("JSONB_TYPEOF"),
        JSON_EXISTS("JSON_EXISTS"),
        JSON_QUERY("JSON_QUERY"),
        JULIAN("计算给定日期的儒略日"),
        LAG("获取当前行前N行的值"),
        LAST_DAY("参数的当月最后一天"),
        LAST_INSERT_ID("最后一个 INSERT 的 AUTOINCREMENT 列的值"),
        LAST_VALUE("最后一行的参数值"),
        LAST_VAL("序列最后值"),
        LAST_ROW("最后行"),
        LIST_AGG(""),
        LCM("最小公倍数"),
        LOWER("小写"),
        NLS_LOWER("小写"),
        LOWER_LIMIT("取字符串与其最近的下限"), //LOWER_LIMIT('ABC') > ABB
        LEAD("分区中当前行前导行的参数值"),
        LEAST("最小参数"),
        LEFT("指定的最左边的字符数"),
        LENGTH("字符串以字节为单位的长度"),
        LIKE("LIKE匹配"),
        POINT_TO_LINE_STRING("从点值构造 LineString"),
        LGAMMA("伽马函数绝对值的自然对数"),
        LN("参数的自然对数"),
        LOAD_FILE("加载命名文件"),
        LOCAL_TIME(""),
        LOCAL_TIMESTAMP(""),
        LOCATE("第一次出现的子字符串的位置"),
        LOG("自然对数"),
        LOG10("以 10 为底的对数"),
        LOG2("以 2 为底的对数"),
        LPAD("字符串参数，左填充指定字符串"),//LPAD(expr1,n,expr2) 从expr1中截取n个字符返回，如果长度不够就用expr2填充左边
        LSEG("对角线"),
        LTRIM("删除前导空格"),
        LNNVL("条件取反"),
        NVL("第一个非空值,支持两个参数"),
        COALESCE("第一个非空值,支持多个参数"),
        IF_EQUAL_NULL_ELSE_FIRST("如果相等返回NULL否则返回第一个"),
        IF_NULL_TERNARY("参数1为空时返回参数2否则返回参数3"),
        NAN_NVL("当第一个参数为NaN非数字时返回第二个参数"),
        INITCAP("将每个单词的第一个字母转换为大写，将其余字母转换为小写"),
        NLS_INITCAP("根据语言环境第一个字母转换为大写"),
        MAKE_REF("创建对象视图的行或对象表中的行，其对象标识符基于主键"),
        MAKE_SET("根据二进制位选择对应的字符串参数，返回由指定位的字符串组成的集合"),
        MAKE_DATE("从年份和年份中的日期创建日期"), //MAKEDATE
        MAKE_INTERVAL("从年、月、周、日、小时、分钟和秒字段创建间隔"),
        MAKE_TIME("从小时、分钟、秒创建时间"), //MAKETIME
        MAKE_TIMESTAMP("从年、月、日、小时、分钟和秒字段创建时间戳"), //MAKETIME
        PARSE_IDENT("将qualified_identifier拆分为标识符数组，删除单个标识符的任何引号"),
        MASTER_POS_WAIT("阻粘直到副本读取并应用了所有更新"),
        MATCH("全文搜索"),
        MAX("最大值"),
        MBR_CONTAINS("判断一个几何对象的最小包围矩形（MBR）是否完全包含另一个几何对象的MBR"),
        MBR_COVERED_BY("一个 MBR 是否被另一个 MBR 覆盖"),
        MBR_COVERS("一个 MBR 是否涵盖另一个"),
        MBR_DISJOINT("两个几何形状的MBR是否不相交"),
        MBR_EQUALS("两个几何形状的MBR是否相等"),
        MBR_INTERSECTS("两个几何形状的 MBR 是否相交"),
        MBR_OVERLAPS("两个几何形状的 MBR 是否重叠"),
        MBR_TOUCHES("两个几何形状的 MBR 是否接触"),
        MBR_WITHIN("一个几何的 MBR 是否在另一个几何的 MBR 内"),
        MD5("MD5"),
        MEDIAN("中位数"),
        MEMBER_OF("检查一个值是否存在于数组中"),
        MICROSECOND("微秒"),
        MID("从指定位置开始的子字符串"),
        MIDNIGHT_SECONDS("计算指定的时间与午夜之间的秒数"),
        MIN("最小值"),
        MIN_SCALE("精确表示所提供值所需的最小刻度"),
        MINUTE("分钟"),
        MOD("余数"),
        MONTH("月份"),
        MONTH_NAME("月份名称"),
        MONTHS_BETWEEN("月份差"),
        NEXT_VAL("序列值"),
        NEXT_DAY("指定日期 date 和星期 X, 求出星期 X 的日期"),
        NLS_SORT("将字符串转换为指定排序方式对应的二进制编码排序"),
        NLS_CHARSET_DECL_LEN("特定字符集下的声明长度"),
        NLS_CHARSET_ID("字符集名称对应的字符集 ID"),
        NLS_CHARSET_NAME("字符集ID对应的字符集名称"),
        NLS_COLLATION_ID("根据字符排序名称返回对应的排序 ID 编号"),
        NLS_COLLATION_NAME("根据字符排序名称返回对应的排序 ID 编号"),
        NCHR("与数字二进制等价的字符"),
        LINE_STRING_TO_MULTI_LINE_STRING("根据 LineString 值构建 MultiLineString"),
        POINT_TO_MULTI_POINT("根据 Point 值构造 MultiPoint"),
        POLYGON_TO_MULTI_POLYGON("从多边形值构造多边形集合"),
        NAME_CONST("指定列名"),
        NEW_ID("全球唯一标识符"),
        NEW_TIME("将一个日期和时间值从一个指定的时区转换到另一个指定的时区"),
        NAN_VALUE("是否NAN"),
        NORMALIZE("将字符串转换为指定的 Unicode 规范化形式"),
        NOW("当前日期和时间"),
        NTH_VALUE("第 N 行的参数值"),
        NTILE("其分区中当前行的存储桶号"),
        NULLIF("如果expr1 = expr2 成立，那么返回值为NULL"),
        NUM_NODE("词位加上运算符的数量"),
        NUMBER_TO_YM_INTERVAL("将数值转换成 INTERVAL YEAR TO MONTH 类型"),
        NUMBER_TO_DS_INTERVAL("将数值转换成 INTERVAL DAY TO SECOND 类型"),
        OBJ_DESCRIPTION("获得对象的描述信息"),
        OCT("包含数字的八进制表示的字符串"),
        ORD("参数最左侧字符的字符代码"),
        OCTET_LENGTH("字节数"),
        OVERLAY("从指定的位置，取指定的长度，用另一个字符中来代替"),
        PAT_INDEX("一个字串在指定表达式中的起始位置，"),
        PERCENT_RANK("排名值百分比"),
        PERIOD_ADD("向年月添加期间"),
        PERIOD_DIFF("期间之间的月数"),
        PLAIN_TO_TSQUERY("将文本转换为 ，根据指定或默认配置规范化单词"),
        PHRASE_TO_TSQUERY("将文本转换为 ，根据指定或默认配置规范化单词"),
        WEBSEARCH_TO_TSQUERY("将文本转换为 ，根据指定或默认配置规范化单词"),
        QUERY_TREE("将文本转换为 ，根据指定或默认配置规范化单词"),
        SET_WEIGHT("为向量的每个元素分配指定的权重"),
        TO_TS_QUERY("根据指定或默认配置规范化单词"),
        TO_TS_VECTOR("将 JSON 文档中的每个字符串值转换为 ，根据指定或默认配置对单词进行规范化"),
        PI("PI"),
        XY_TO_POINT("从坐标构造点"),
        LINE_STRING_TO_POLYGON("从 LineString 参数构造多边形"),
        PATH("指向父条件中指定的资源的相对路径"),
        POSITION("LOCATE"),
        POW("幂"),
        POWER("幂", POW),
        POWER_MULTIS_ET("一个包含输入嵌套表所有非空子集的嵌套表"),
        POWER_MULTIS_ET_BY_CARDINALITY("接收一个嵌套表和一个基数作为输入，返回一个包含所有非空子集的嵌套表嵌套表"),
        PWD_COMPARE("比较数据库用户显示密码和加密密码"),
        PREDICTION("所选内容中每一行的预测"),
        PREDICTION_BOUNDS("预测所选内容中每一行的类或值"),
        PREDICTION_COST("选择中每一行的成本"),
        PREDICTION_DETAILS("选择中每一行的预测细节"),
        PREDICTION_PROBABILITY("选择中每一行的概率"),
        PREDICTION_SET("所选内容中每一行的概率或成本"),
        PRESENTNNV(""),
        PRESENTV(""),
        PREVIOUS(""),
        CUBE_TABLE("从立方体或维度中提取数据，并以二维关系表格式返回"),
        PS_CURRENT_THREAD_ID("当前线程的性能架构线程 ID"),
        PS_THREAD_ID("给定线程的性能架构线程 ID"),
        QUARTER("季度"),
        QUOTE("转义"),
        QUOTE_IDENT("输出字符串表达式"), //QUOTE_IDENT('a') > "a"
        QUOTE_LITERAL("输出字符串表达式"), //QUOTE_IDENT('a') > 'a'
        QUOTE_NULLABLE("输出字符串表达式"), //QUOTE_IDENT('a') > 'a'
        RADIANS("转换为弧度"),
        RAND("随机浮点值"),
        RANDOM("随机浮点值", RAND),
        RANDOM_BYTES("一个随机字节向量"),
        RANDOM_INT("随机整数值"),
        RANDOM_NORMAL("从给定参数的正态分布中返回一个随机值"),
        RADIUS("计算圆的半径"),
        RANK("其分区中当前行的排名"),
        REBUILD_TABLE("重建所有表"),
        REGEXP("字符串是否与正则表达式匹配"),
        REGEXP_COUNT("正则表达式模式匹配的次数"),
        REGEXP_INSTR("正则表达式模式在字符串中的位置"),
        REGEXP_POSITION("子字符串匹配正则表达式的起始索引"),
        REGEXP_LIKE("字符串是否与正则表达式匹配"),
        REGEXP_MATCH("正则表达式模式与字符串的第一个匹配项内的子字符串"),
        REGEXP_MATCHES("正则表达式模式与字符串的所有匹配项内的子字符串"),
        REGEXP_REPLACE("替换与正则表达式匹配的子字符串"),
        REGEXP_SPLIT_TO_ARRAY("正则表达式作为分隔符拆分字符串，生成结果数组"),
        REGEXP_SPLIT_TO_TABLE("正则表达式作为分隔符拆分字符串，生成一组结果集"),
        REGEXP_SUBSTR("子字符串匹配正则表达式"),
        RELEASE_ALL_LOCKS("释放所有当前命名锁"),
        RELEASE_LOCK("释放命名锁"),
        REMAINDER("余数"), //与 MOD 函数不同
        REMOVE_TABLE_POLICY("取消应用策略到表"),
        REMOVE_TABLE_CONTROL("移除表级控制"),
        REMOVE_ROW_CONTROL("移除行级控制"),
        REMOVE_COLUMN_CONTROL("移除列级控制"),
        REMOVE_COLUMN_CONTROL_CONSTRAINT("移除列级控制推理约束"),
        REPEAT("重复字符串指定次数"),
        REPLACE("替换指定字符串的出现次数"),
        RESTATISTICS("重建所有统计信息"),
        REVERSE("反转字符串中的字符"),
        RIGHT("指定的最右边的字符数"),
        RLIKE("字符串是否与正则表达式匹配"),
        ROLES_GRAPHML("表示内存角色子图的 GraphML"),
        ROUND("四舍五入"),
        ROW_COUNT("更新的行数"),
        ROW_NUMBER("其分区中的当前行数"),
        RPAD("附加字符串指定次数"),
        RTRIM("删除尾随空格"),
        SCALE("小数的比例(小数部分中的小数位数)"),
        SCHEMA("SCHEMA"),
        SCN_TO_TIMESTAMP("给定的系统更改号相关联的近似时间戳"),
        SET("通过消除重复项将嵌套表转换为集合"),
        TIMESTAMP_TO_SCN("与给定的时间戳相关联的近似系统更改号"),
        SEC_TO_TIME("将秒转换为时间"),
        SECOND("秒"),
        SESSION_TIMEZONE("时区"),
        SESSION_USER("当前用户"),
        SET_BIT("设置二进制字符串中的第 n 位"),
        SET_BYTE("设置二进制字符串中的第 n 字节"),
        SET_CONFIG("设置某个配置参数的值"),
        SET_SEED("设置后续和调用的种子"),
        SET_TAB_CONTROL_BASE_TIME("设置基于时间段的列集合访问控制"),
        SET_VAL("设置一个序列的当前值"),
        SET_USER_PRIVILEGE("为用户授权特权"),
        SHA1("计算 SHA-1 160 位校验和"),
        SHA2("计算 SHA-2 校验和"),
        SHA224("计算二进制字符串的 SHA-224 哈希值"),
        SHA256("计算二进制字符串的 SHA-256 哈希值"),
        SHA384("计算二进制字符串的 SHA-384 哈希值"),
        SHA512("计算二进制字符串的 SHA-512 哈希值"),
        SIGN("符号"),
        SIN("正弦"),
        SIND("正弦,以度为单位的参数"), //sind(30) > 0.5
        SINH("双曲正弦"), //sinh(1)→1.1752011936438014
        SHOW_BINLOG_EVENTS("获得指定 Binlog 文件的详细内容"),
        SLEEP("睡眠几秒钟"),
        SLEEP_INTERVAL("睡眠间隔"),
        SLEEP_UNTIL("睡眠到"),
        SLOPE("斜率"),
        SOUNDEX("SOUNDEX 值"),
        SOUNDS_LIKE("比较声音"),
        SOURCE_POS_WAIT("阻止直到副本读取并应用了所有更新"),
        SPACE("指定空格数的字符串"),
        SPLIT_PART("以给定的字符串为分隔符，来分隔另一个字符串，并取出指定的分隔部分"),
        SQRT("平方根"),
        ST_AREA("多边形或多多边形区域"),
        ST_TO_WKB("从内部几何格式转换为WKB"),
        ST_TO_GEO_JSON("从几何图形生成GEO JSON对象"),
        ST_TO_WKT("从内部几何格式转换为WKT"),
        ST_BUFFER("与几何给定距离内的点的几何"),
        ST_BUFFER_STRATEGY("生成ST_BUFFER的策略选项"),
        ST_CENTROID("质心作为点"),
        ST_COLLECT("将空间值聚合到集合中"),
        ST_CONTAINS("一个几何是否包含另一个几何"),
        ST_CONVEX_HULL("几何凸包"),
        ST_CROSSES("一个几何体是否与另一个几何体交叉"),
        ST_DIFFERENCE("两个几何形状的点设置差异"),
        ST_DIMENSION("几何尺寸"),
        ST_DISJOINT("一个几何是否与另一个几何不相交"),
        ST_DISTANCE("一个几何体与另一个几何体的距离"),
        ST_DISTANCE_SPHERE("两个几何形状之间的地球上最小距离"),
        ST_END_POINT("LINESTRING的终点"),
        ST_ENVELOPE("几何的MBR"),
        ST_EQUALS("一个几何是否等于另一个几何"),
        ST_EXTERIOR_RING("多边形的外环"),
        ST_FRECHET_DISTANCE("一个几何体与另一个几何体的离散FRÉCHET距离"),
        ST_GEOMETRY_HASH("生成地理哈希值"),
        ST_GEOMETRY_COLLECTION_FROM_TEXT("从WKT几何集合"),
        ST_GEOMETRY_COLLECTION_FROM_WKB("从WKB几何集合"),
        ST_GEOMETRY_N("从几何集合中第N个几何"),
        ST_GEOMETRY_TYPE("几何类型的名称"),
        ST_GEOMETRY_FROM_GEO_JSON("从GEOJSON对象生成几何图形"),
        ST_GEOMETRY_FROM_TEXT("从WKT几何"),
        ST_GEOMETRY_FROM_WKB("从WKB几何"),
        ST_HAUSDORFF_DISTANCE("一个几何与另一个几何的离散豪斯多夫距离"),
        ST_INTERIOR_RING_N("多边形的第N个内环"),
        ST_INTERSECTION("点集两个几何的交点"),
        ST_INTERSECTS("一个几何体是否与另一个几何体相交"),
        ST_IS_CLOSED("几何体是否封闭且简单"),
        ST_IS_OPEN("几何体是否开放"),
        ST_IS_EMPTY("几何是否为空"),
        ST_IS_SIMPLE("几何形状是否简单"),
        ST_IS_VALID("几何是否有效"),
        ST_LAT_FROM_GEO_HASH("从GEOHASH值纬度"),
        ST_LATITUDE("点的纬度"),
        ST_LENGTH("LINESTRING的长度"),
        ST_LINE_STRING_FROM_TEXT("从WKT构造LINESTRING"),
        ST_LINE_STRING_FROM_WKB("从WKB构造LINESTRING"),
        ST_LINE_INTERPOLATE_POINT("沿LINESTRING指向给定百分比"),
        ST_LINE_INTERPOLATE_POINTS("沿LINESTRING指向给定百分比的"),
        ST_LONG_FROM_GEO_HASH("从GEOHASH值经度"),
        ST_LONGITUDE("点的经度"),
        ST_MAKE_ENVELOPE("围绕两点的矩形"),
        ST_MULTI_LINE_STRING_FROM_TEXT("从WKT构造MULTILINESTRING"),
        ST_MULTI_LINE_STRING_FROM_WKB("从WKB构造MULTILINESTRING"),
        ST_MULTI_POINT_FROM_TEXT("从WKT构造MULTIPOINT"),
        ST_MULTI_POINT_FROM_WKB("从WKB构造MULTIPOINT"),
        ST_MULTI_POLYGON_FROM_TEXT("从WKT构造多多边形"),
        ST_MULTI_POLYGON_FROM_WKB("从WKB构造多多边形"),
        ST_NUM_GEOMETRIES("几何集合中的几何数"),
        ST_NUM_INTERIOR_RINGS("多边形中的内环数"),
        ST_NUM_POINTS("LINESTRING中的点数"),
        ST_OVERLAPS("一个几何体是否与另一个几何体重叠"),
        ST_PATH_CLOSE("将路径转换为封闭形式"),
        ST_PATH_OPEN("将路径转换为开放形式"),
        ST_POINT_AT_DISTANCE("沿LINESTRING给定距离的点"),
        ST_POINT_FROM_GEO_HASH("将地理哈希值转换为POINT值"),
        ST_POINT_FROM_TEXT("从WKT构造点"),
        ST_POINT_FROM_WKB("从WKB构造点"),
        ST_POINT_N("从LINESTRING第N个点"),
        ST_POINT_COUNT("点数量"),
        ST_POLYGON_FROM_TEXT("从WKT构造多边形"),
        ST_POLYGON_FROM_WKB("从WKB构造多边形"),
        ST_SIMPLIFY("简化的几何"),
        ST_SRID("几何的空间参考系统ID"),
        ST_START_POINT("LINESTRING的起点"),
        ST_SWAP_XY("交换X/Y坐标的参数"),
        ST_SYM_DIFFERENCE("点集两个几何的对称差值"),
        ST_TOUCHES("一个几何体是否接触另一个几何体"),
        ST_TRANSFORM("变换几何坐标"),
        ST_UNION("点集两个几何的并集"),
        ST_VALIDATE("已验证的几何图形"),
        ST_WITHIN("一个几何是否在另一个几何中"),
        ST_X("点的X坐标"),
        ST_Y("点的Y坐标"),
        STARTS_WITH("是否字符串以前缀开头"),
        STRING_POSITION("确定二个 TEXT 串在第一个 TEXT 串中第一次出现的位置"),
        STATEMENT_DIGEST("计算语句摘要哈希值"),
        STATEMENT_DIGEST_TEXT("计算规范化语句摘要"),
        STATS_BINOMIAL_TEST("用于二分变量的精确概率检验"),
        STATS_CROSS_TAB("交叉表分析"),
        STATS_F_TEST("测试两个方差是否显著不同"),
        STATS_KS_TEST("比较两个样本来检验它们是否来自同一总体"),
        STATS_MODE("出现频率最高的值"),
        STATS_MW_TEST("检验两个总体分布函数相同的原假设与两个分布函数不同的替代假设"),
        STATS_ONE_WAY_ANOVA("比较两个不同的方差估计值来检验均值"),
        STATS_T_TEST_ONE("一个单样本t检验"),
        STATS_T_TEST_PAIRED("一种两样本配对t检验"),
        STATS_T_TEST_INDEP("两个独立组具有相同方差的t检验"),
        STATS_T_TEST_INDEPU("两个方差不等的独立组的t检验"),
        STATS_WSR_TEST(""),
        STD("总体标准差"),
        STDDEV("总体标准差"),
        STDDEV_POP("总体标准差"),
        STDDEV_SAMP("样本标准差"),
        STR_TO_DATE("将字符串转换为日期"),
        STRCMP("比较两个字符串"),
        SUBSTR("从指定的位置开始，截取定长子串"),
        SUBSTR_BIT("从指定的位置开始，按字节截取子串"),
        SUBSTRING("SUBSTRING"), //SUBSTRING('SUBSTRING',2 , 4) > UBST
        SUBSTRING_INDEX("从指定数量之前的字符串  子字符串分隔符的出现次数"),
        SUB_TIME("TIME1减去TIME2后的时间"),
        SUM("合计"),
        SYS_DATE("函数执行的时间"),
        SYSTEM_USER(""),
        SYS_CONNECT_BY_PATH("列值从根到节点的路径"),
        SYS_CONTEXT("该函数用于获取上下文里属性的值"),
        SYS_EXTRACT_UTC("从带有时区偏移或时区区域名称的日期时间值中提取UTC"),
        SYS_GET_BLOCK_SIZE("存储块大小"),
        SYS_GET_EXTRA_NAME_CHARACTERS("得到所有用于 unquoted SQL 标识符的特别字符，除了 a-z,A-Z,0-9,_"),
        SYS_GET_HOME_DIR("获取数据库路径"),
        SYS_GET_PAGE_SIZE("存储页大小"),
        SYS_GET_PHY_DBNAME("获取数据库名"),
        SYS_GET_REL_ID("从模式名和表名得到表的 oid"),
        SYS_GET_SPC_HIT_RATE("计算 SPC 的命中率"),
        SYS_GET_SQL_KEYWORDS("取得所有关键字，用逗号隔开"),
        SYS_GET_USER_LOGIN_FAIL_COUNT("检查用户登路失败次数"),
        SYS_GUID("全球唯一标识符"),
        SYS_IS_CURRENT_USER_DBA("检查用户是不是 DBA"),
        SYS_KILL_SESSION("kill一个会话"),
        SYS_RESET_ALL_SESSION_STAT("重置所有 session 统计信息"),
        SYS_RESET_SESSION_STAT("重置指定 session 统计信息"),
        SYS_RESET_SPC_STAT("重置计算 SPC 的命中率"),
        SYS_DB_URI_GEN("生成特定列或行对象的数据类型URL"),
        SYS_XML_AGG("聚合 expr 表示的所有 XML 文档或片段，并生成单个 XML 文档"),
        SYS_XML_GEN("包含 XML 文档的类型的实例"),
        SYS_TYPE_ID("最具体类型的类型"),
        SYS_OP_ZONE_ID("将 rowid 作为其参数并返回区域 ID"),
        TAN("切线"),
        TAND("切线 以度为单位的参数"), //tand(45) > 1
        TANH("双曲正切"), //tanh(1)→0.7615941559557649
        TREAT("更改表达式的声明类型"),
        TEXT_LARGER("比较字符串，取相应位在字符表中靠后的"),
        TEXT_SMALLER("比较字符串，取相应位在字符表中靠前的"),
        TIME("时间部分"),
        TIME_FORMAT("时间格式化"),
        TIME_OF_DAY(""),
        TIME_OVERLAPS("前后两个时间区域是否有重叠"), //OVERLAPS('12:12:12', '12:12:15', '12:12:16', '12:12:17')
        TIME_TO_SEC("转换为秒的参数"),
        TIME_DIFF("时间差"),
        TIME_SMALLER("最小时间"),
        TIME_LARGER("最大时间"),
        TIME_ZONE("数据库时区"),
        TIME_ZONE_OFFSET("与参数对应的时区偏移量"),
        TIMESTAMP("时间戳"),
        TIMESTAMP_ADD("添加时间"),
        TIMESTAMP_COMPARE("比较两个 TIMESTAMP 值"),
        TIMESTAMP_DIFF("时间差"),
        TIMESTAMP_SMALLER("最小时间"),
        TIMESTAMP_LARGER("最大时间"),
        TO_BASE64("BASE64"),
        TO_BINARY_DOUBLE("将给定的表达式转换为双精度浮点数"),
        TO_BINARY_FLOAT("将给定的表达式转换为浮点数"),
        TO_BLOB("值转换为 BLOB 值"),
        TO_LOB("将列给定的列中的 LONG 或 LONG RAW 值转换为 LOB 值"),
        TO_CHAR("CHAR"),
        TO_DATE("将一个文本类型的 TIMESTAMP 类型数据，转换成 DATE 类型"),
        TO_DAY_SECOND_INTERVAL("换为 INTERVAL DAY TO SECOND 数据类型的值"),
        TO_YEAR_MONTH_INTERVAL("转换为 INTERVAL MONTH TO YEAR 数据类型的值"),
        TO_DAYS("转换为天数"),
        TO_HEX("16进制"),
        TO_DECIMAL("转换成 NUMERIC 类型"),
        TO_NUMBER("转换成 NUMERIC 类型", TO_DECIMAL),
        TO_NCHAR("转换为国家字符集"),
        TO_NCLOB("值转换为 NCLOB 值"),
        TO_SINGLE_BYTE("多字节字符转换为相应的单字节字符"),
        TO_MULTI_BYTE("单字节字符转换为相应的多字节字符"),
        TO_SECONDS("转换为秒"),
        TO_PATH(""),
        TO_APPROX_COUNT_DISTINCT("输入包含近似不同值计数信息的详细信息，并将其转换为一个值"),
        TO_APPROX_PERCENTILE("将expr转换为双精度浮点数"),
        CENTER_POINT("中心点"),
        CLUSTER_DISTANCE("所选内容中每一行的簇距离"),
        CLUSTER_DETAILS("所选内容中每一行的集群详细信息"),
        CLUSTER_ID("选择中每一行的最高概率簇的标识符"),
        CLUSTER_PROBABILITY("选择中每一行的概率"),
        CLUSTER_SET("返回每行的簇ID和概率对"),
        TO_POLYGON("转换成多边形"),
        TO_TIMESTAMP(""),
        TO_TIMESTAMP_TZ(""),
        TRANSLATE("将字符串中的指定子串转换成新的子串并返回"),
        TRANSACTION_TIMESTAMP("当前事务开始时间"),
        TRIM("删除前导和尾随空格"),
        TRIM_SCALE("删除尾随零"),
        TRUNC("截断到指定的小数位数"),
        TRUNCATE("截断到指定的小数位数", TRUNC),
        TS_DELETE("从向量中删除给定词位的任何出现"),
        TS_FILTER("仅从向量中选择具有给定权重的元素"),
        TS_HEADLINE("以缩写形式显示文档中查询的匹配项"),
        TS_RANK("计算一个分数，显示向量与查询的匹配程度"),
        TS_RANK_CD("使用覆盖密度算法计算一个分数，显示向量与查询的匹配程度"),
        TS_REWRITE("根据执行命令获得的目标替换部分查询和替代"),
        TS_QUERY_PHRASE("构造一个短语查询，用于在连续的词位上搜索"),
        TS_VECTOR_TO_ARRAY("转换为词位数组"),
        TS_DEBUG("根据指定或默认的文本搜索配置从文档中提取和规范化标记，并返回每个标记的处理方式"),
        TS_LEXIZE("如果输入词典已知，返回替换词汇数组;若词典已知但为停止字，则返回空数组;若不是已知词"),
        TS_PARSE("使用命名解析器从文档中提取词元"),
        TS_TOKEN_TYPE("描述命名解析器能识别的每种类型的令牌"),
        TS_STAT("数据中每个不同词汇的统计数据"),
        UNNEST("将 a 扩展为一组行，每个词位一个"),
        UPPER("大写"),
        NLS_UPPER("大写"),
        UPPER_LIMIT("取字符串与其最近的上限"),
        UMINUS("取反"),
        UN_COMPRESS("解压缩压缩的字符串"),
        UNCOMPRESSED_LENGTH("压缩前字符串的长度"),
        UN_HEX("包含数字十六进制表示的字符串"),
        UNIX_TIMESTAMP("UNIX 时间戳"),
        UNICODE_ASSIGNED("是否为字符串中的所有字符分配了 Unicode 代码点"),
        UNICODE_STRING("计算参数中转义的 Unicode 字符"),
        UPDATE_XML("替换XML片段"),
        USER("客户端提供的用户名和主机名"),
        USER_ENV("当前会话的信息"),
        UTC_DATE("当前 UTC 日期"),
        UTC_TIME("当前 UTC 时间"),
        UTC_TIMESTAMP("当前 UTC 时间戳"),
        UUID("UUID"),
        UUID_EXTRACT_TIMESTAMP("提取时间戳"),
        UUID_EXTRACT_VERSION("UUID 中提取版本"),
        UUID_SHORT("整数值通用标识符"),
        UUID_TO_BIN("将字符串 UUID 转换为二进制"),
        UNI_STR("以国家字符集返回给定的字符数据"),
        VALIDATE_PASSWORD_STRENGTH("确定密码的强度"),
        VAR_POP("总体标准方差"),
        VAR_SAMP("样本方差"),
        VARIANCE("总体标准方差"),
        VERSION("服务器版本"),
        WAIT_FOR_EXECUTED_GTID_SET("等待给定的 GTID 在副本上执行"),
        WEEK("周数"),
        WEEKDAY("工作日索引"),
        WEEK_OF_YEAR("日期的日历周"),
        WEIGHT_STRING("字符串的权重字符串"),
        WIDTH_BUCKET("直方图中的桶数或编号"),
        XOR("逻辑异或"),
        XML_TO_TEXT("XML文本"),
        XML_COMMENT("XML注释"),
        XML_CONCAT("XML值串接"),
        XML_ELEMENT("XML元素"),
        XML_FOREST("XML林"),
        XML_ROOT("XML 值的根节点"),
        XML_PI("创建 XML 处理指令"),
        XML_AGG("XML聚合"),
        XML_CAST("转换为 datatype 指定的标量 SQL 数据类型"),
        XML_CDATA("生成 CDATA"),
        XML_COL_ATT_VAL("创建一个XML片段"),
        XML_DIFF("符合 Xdiff 模式的 XML 中的差异"),
        XML_EXISTS(""),
        XML_IS_WELL_FORMED(""),
        XML_IS_WELL_FORMED_DOCUMENT(""),
        XML_IS_WELL_FORMED_CONTENT(""),
        XML_IS_VALID("是否符合相关的XML模式"),
        XML_PARSE("解析并从评估结果生成 XML 实例"),
        XML_PATCH("更改修补 XML 文档"),
        XML_TABLE("基于XML值生成一个表"),
        XML_QUERY("计算 XQuery 表达式的结果"),
        XML_SEQUENCE("最高层节点的 varray"),
        XML_SERIALIZE("生成包含value_expr内容的字符串或LOB"),
        JSON_DATA_GUIDE(""),
        XML_TRANSFORM(""),
        TABLE_TO_XML("TABLE_TO_XML"),
        QUERY_TO_XML("QUERY_TO_XML"),
        CURSOR_TO_XML("CURSOR_TO_XML"),
        TABLE_TO_XML_SCHEMA("TABLE_TO_XMLSCHEMA"),
        QUERY_TO_XML_SCHEMA("QUERY_TO_XMLSCHEMA"),
        CURSOR_TO_XML_SCHEMA("CURSOR_TO_XMLSCHEMA"),
        TABLE_TO_XML_AND_XML_SCHEMA("TABLE_TO_XML_AND_XMLSCHEMA"),
        QUERY_TO_XML_AND_XML_SCHEMA("QUERY_TO_XML_AND_XMLSCHEMA"),
        SCHEMA_TO_XML("SCHEMA_TO_XML"),
        SCHEMA_TO_XML_SCHEMA("SCHEMA_TO_XMLSCHEMA"),
        SCHEMA_TO_XML_AND_XML_SCHEMA("SCHEMA_TO_XML_AND_XMLSCHEMA"),
        DATABASE_TO_XML("DATABASE_TO_XML"),
        DATABASE_TO_XML_SCHEMA("DATABASE_TO_XMLSCHEMA"),
        DATABASE_TO_XML_AND_XML_SCHEMA("DATABASE_TO_XML_AND_XMLSCHEMA"),
        XPATH("根据 XML 值 xml 计算 XPath"),
        XPATH_EXISTS(""),
        YEAR("年份"),
        YEAR_WEEK("年份和周"), //YEARWEEK(now())

        ARRAY_APPEND("将元素附加到数组的末尾"),
        ARRAY_CAT("连接两个数组"),
        ARRAY_DIMS("数组维度的文本表示形式"),
        ARRAY_FILL("一个数组，其中填充了给定值的副本"),
        ARRAY_LENGTH("请求的数组维度的长度"),
        ARRAY_LOWER("请求的数组维度的下限"),
        ARRAY_NDIMS("数组的维度数"),
        ARRAY_POSITION("数组中第二个参数首次出现的下标"),
        ARRAY_POSITIONS("第一个参数中第二个参数所有出现的下标数组"),
        ARRAY_PREPEND("在数组开头前加一个元素"),
        ARRAY_REMOVE("从数组中移除所有等于给定值的元素"),
        ARRAY_REPLACE("将等于第二个参数的每个数组元素替换为第三个参数"),
        ARRAY_REVERSE("将数组的第一维度反转"),
        ARRAY_SAMPLE("一个由 N 个元素组成的数组，从数组中随机选择"),
        ARRAY_SHUFFLE("随机打乱数组的第一个维度"),
        ARRAY_SORT("对数组的第一个维度进行排序"),
        ARRAY_TO_STRING("将每个数组元素转换为其文本表示形式"),
        ARRAY_UPPER("请求的数组维度的上限"),
        CARDINALITY("数组中的元素总数"),
        TRIM_ARRAY("通过删除最后 N 个元素来修剪数组"),
        IS_EMPTY("范围是否空"),
        LOWER_INC("范围的下限是否包含"),
        UPPER_INC("该范围的上限是否包含"),
        LOWER_INF("范围是否有下限"),
        UPPER_INF("范围是否有上限"),
        RANGE_MERGE("计算包括整个多范围的最小范围"),
        MULTI_RANGE("仅包含给定范围的多范围"),
        ARRAY_AGG("从非空输入值返回任意值"),
        BOOL_AND(""),
        BOOL_OR(""),
        EVERY(""),
        JSON_AGG("将所有输入值（包括空值）收集到 JSON 数组中"),
        JSONB_AGG("将所有输入值（包括空值）收集到 JSON 数组中"),
        JSON_AGG_STRICT("将所有输入值（跳过 null）收集到 JSON 数组中"),
        JSONB_AGG_STRICT("将所有输入值（跳过 null）收集到 JSON 数组中"),
        JSONB_OBJECT_AGG("将所有键/值对收集到 JSON 对象中"),
        JSON_OBJECT_AGG_STRICT("将所有键/值对收集到 JSON 对象中"),
        JSONB_OBJECT_AGG_STRICT("将所有键/值对收集到 JSON 对象中"),
        JSON_OBJECT_AGG_UNIQUE("将所有键/值对收集到 JSON 对象中"),
        JSONB_OBJECT_AGG_UNIQUE("将所有键/值对收集到 JSON 对象中"),
        JSON_OBJECT_AGG_UNIQUE_STRICT("将所有键/值对收集到 JSON 对象中"),
        JSONB_OBJECT_AGG_UNIQUE_STRICT("将所有键/值对收集到 JSON 对象中"),
        RANGE_AGG("计算非空输入值的并集"),
        RANGE_INTERSECT_AGG("计算非空输入值的交集"),
        STRING_AGG("将非空输入值连接成字符串"),
        CORR("计算相关系数"),
        CORR_S("计算斯皮尔曼的ρ相关系数"),
        CORR_K("计算肯德尔的 tau-b 相关系数"),
        COVAR_POP("计算总体协方差"),
        COVAR_SAMP ("计算样本协方差"),
        REGR_AVGX("计算自变量 的平均值"),
        REGR_AVGY("计算因变量 的平均值"),
        REGR_COUNT("计算两个输入都为非空的行数"),
        REGR_INTERCEPT("计算由 （X， Y） 对确定的最小二乘拟合线性方程的 y 截距"),
        REGR_R2("计算相关系数的平方"),
        REGR_SLOPE("计算由 （X， Y） 对确定的最小二乘拟合线性方程的斜率"),
        REGR_SXX("计算自变量的“平方和”"),
        REGR_SXY("计算独立乘时因变量的“乘积之和”"),
        REGR_SYY("计算因变量的“平方和”"),
        RATIO_TO_REPORT(""),
        MODE("计算一个值与一组值之和的比值"),
        MERGE_ACTION("为当前行执行的合并作命令"),
        PERCENTILE_CONT("计算连续百分位数"),
        PERCENTILE_DISC("计算离散百分位数"),
        GENERATE_SERIES ("生成从开始到停止的一系列值"),
        GENERATE_SUBSCRIPTS("生成一个序列，其中包含给定数组的暗维的有效下标"),
        CURRENT_CATALOG(""),
        CURRENT_QUERY("客户端提交的当前正在执行的查询的文本"),
        INET_CLIENT_ADDR("当前客户端的 IP 地址"),
        INET_CLIENT_PORT("当前客户端的 IP 端口号"),
        INET_SERVER_ADDR("服务器接受当前连接的 IP 地址"),
        INET_SERVER_PORT("服务器接受当前连接的 IP 端口号"),
        BACKEND_PID("附加到当前会话的服务器进程的进程 ID"),
        BLOCKING_PIDS("阻止具有指定进程 ID 的服务器进程获取锁的会话的进程 ID 数组"),
        CONF_LOAD_TIME("服务器配置文件最后一次加载的时间"),
        CURRENT_LOGFILE("日志记录收集器当前使用的日志文件的路径名"),
        GET_LOADED_MODULES("加载到当前服务器会话中的可加载模块的列表"),
        MY_TEMP_SCHEMA("当前会话的临时模式的 OID"),
        IS_OTHER_TEMP_SCHEMA("如果给定的 OID 是另一个会话的临时架构的 OID"),
        JIT_AVAILABLE("JIT 编译器扩展可用"),
        NUMA_AVAILABLE("服务器已使用 NUMA 支持进行编译"),
        LISTENING_CHANNELS("当前会话正在侦听的异步通知通道的一组名"),
        NOTIFICATION_QUEUE_USAGE("异步通知队列的最大大小的分数"),
        POSTMASTER_START_TIME("服务器启动的时间"),
        SAFE_SNAPSHOT_BLOCKING_PIDS ("阻止具有指定进程 ID 的服务器进程获取安全快照的会话的进程 ID 数组"),
        TRIGGER_DEPTH("触发器的当前嵌套级别"),
        HAS_ANY_COLUMN_PRIVILEGE("用户是否对表的任何列具有权限"),
        HAS_COLUMN_PRIVILEGE("用户是否对指定的表列具有权限"),
        HAS_DATABASE_PRIVILEGE("用户是否具有数据库权限"),
        HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE("用户是否具有外部数据包装器的权限"),
        HAS_FUNCTION_PRIVILEGE("用户是否具有功能权限"),
        HAS_LANGUAGE_PRIVILEGE("用户是否具有语言权限"),
        HAS_LARGE_OBJECT_PRIVILEGE("用户是否具有大型对象的权限"),
        HAS_PARAMETER_PRIVILEGE("用户是否具有配置参数的权限"),
        HAS_SCHEMA_PRIVILEGE("用户是否具有架构权限"),
        HAS_SEQUENCE_PRIVILEGE("用户是否具有序列权限"),
        HAS_SERVER_PRIVILEGE("用户是否具有外部服务器的权限"),
        HAS_TABLE_PRIVILEGE ("用户是否具有表的权限"),
        AS_TABLESPACE_PRIVILEGE("用户是否具有表空间权限"),
        HAS_TYPE_PRIVILEGE ("用户是否具有数据类型的权限"),
        HAS_ROLE("用户是否具有角色权限"),
        ROW_SECURITY_ACTIVE("在当前用户和当前环境的上下文中，指定表的行级安全性是否处于活动状态"),
        ACL_DEFAULT("构造一个数组，该数组为属于具有 OID ownerId 的角色的类型类型对象的默认访问权限"),
        ACL_EXPLODE("将数组作为一组行返回。如果被授权者是伪角色 PUBLIC，则在被授权者列中用零表示"),
        MAKE_ACL_ITEM("构造具有给定属性的属性"),
        COLLATION_IS_VISIBLE("排序规则在搜索路径中是否可见"),
        CONVERSION_IS_VISIBLE("转化在搜索路径中可见"),
        FUNCTION_IS_VISIBLE("搜索路径中功能可见"),
        OPERATOR_CLASS_IS_VISIBLE ("运算符类在搜索路径中可见"),
        OPERATOR_IS_VISIBLE("运算符在搜索路径中可见"),
        OPERATOR_FAMILY_IS_VISIBLE("运算符族在搜索路径中是否可见"),
        STATISTICS_OBJ_IS_VISIBLE("统计对象在搜索路径中是否可见"),
        TABLE_IS_VISIBLE("表格在搜索路径中可见"),
        TS_CONFIG_IS_VISIBLE("文本搜索配置在搜索路径中是否可见"),
        TS_DICT_IS_VISIBLE("文本搜索词典在搜索路径中是否可见"),
        TS_PARSER_IS_VISIBLE("文本搜索解析器在搜索路径中是否可见"),
        TS_TEMPLATE_IS_VISIBLE("文本搜索模板在搜索路径中是否可见"),
        TYPE_IS_VISIBLE("类型（或域）在搜索路径中是否可见"),
        FORMAT_TYPE("类型 OID 和可能的类型修饰符标识的数据类型的 SQL 名称"),
        BASE_TYPE("PG_BASETYPE"),
        CHAR_TO_ENCODING("将提供的编码名称转换为表示某些系统目录表中使用的内部标识符的整数"),
        ENCODING_TO_CHAR("将某些系统目录表中用作编码内部标识符的整数转换为可读的字符串"),
        GET_CATALOG_FOREIGN_KEYS("描述POSTGRESQL系统目录中存在的外键关系"),
        GET_CONSTRAINT_DEF("重建约束的创建命令"),
        GET_EXPR("反编译存储在系统目录中的表达式的内部形式"),
        GET_FUNCTION_DEF("重建函数或过程的创建命令"),
        GET_FUNCTION_ARGUMENTS("以函数或过程需要出现的形式（包括默认值）重建函数或过程的参数列表"),
        GET_FUNCTION_IDENTITY_ARGUMENTS ("重建识别函数或过程所需的参数列表"),
        GET_FUNCTION_RESULT ("重建函数的子句"),
        GET_INDEX_DEF ("重建索引的创建命令"),
        GET_KEYWORDS("描述服务器识别的关键字"),
        GET_PART_KEY_DEF("重建分区表的分区键的定义"),
        GET_RULE_DEF ("重建规则的创建命令"),
        GET_SERIAL_SEQUENCE ("与列关联的序列的名称"),
        GET_STATISTICS_OBJECT_DEF("重建扩展统计信息对象的创建命令"),
        GET_TRIGGER_DEF("重建触发器的创建命令"),
        GET_USER_BY_ID("OID 的角色名称"),
        GET_VIEW_DEF("重建视图或具体化视图的基础命令"),
        INDEX_COLUMN_HAS_PROPERTY("测试索引列是否具有命名属性"),
        INDEX_HAS_PROPERTY("测试索引是否具有命名属性"),
        INDEX_AM_HAS_PROPERTY("测试索引访问方法是否具有命名属性"),
        OPTIONS_TO_TABLE("存储选项集"),
        SETTINGS_GET_FLAGS("给定 GUC 关联的标志数组"),
        TABLESPACE_DATABASES("在指定表空间中存储对象的数据库的 OID 集"),
        TABLESPACE_LOCATION("此表空间所在的文件系统路径"),
        TYPEOF("传递给它的值的数据类型的 OID"),
        TO_REG_CLASS("将文本关系名称转换为其 OID"),
        TO_REG_COLLATION("将文本排序规则名称转换为其 OID"),
        TO_REG_NAMESPACE("将文本架构名称转换为其 OID"),
        TO_REG_OPER("将文本运算符名称转换为其 OID"),
        TO_REG_OPERATOR("将文本运算符名称（带有参数类型）转换为其 OID"),
        TO_REG_PROC("将文本函数或过程名称转换为其 OID"),
        TO_REG_PROCEDURE("将文本函数或过程名称（带有参数类型）转换为其 OID"),
        TO_REG_ROLE("将文本角色名称转换为其 OID"),
        TO_REG_TYPE("解析文本字符串，从中提取潜在的类型名称，并将该名称转换为类型 OID"),
        TO_REG_TYPE_MOD("解析文本字符串，从中提取潜在的类型名称，并翻译其类型修饰符"),
        GET_ACL("数据库对象的 ACL"),
        DESCRIBE_OBJECT("由目录 OID、对象 OID 和子对象 ID 标识的数据库对象的文本描述"),
        DEREF("参数expr的对象引用"),
        REF("为绑定到变量或行的对象实例返回一个值"),
        REF_TO_HEX("将参数expr转换为包含其十六进制等价项的字符值"),
        IDENTIFY_OBJECT("包含足够信息的行，以唯一标识由目录 OID、对象 OID 和子对象 ID 指定的数据库对象"),
        IDENTIFY_OBJECT_AS_ADDRESS("以唯一标识由目录 OID、对象 OID 和子对象 ID 指定的数据库对象"),
        GET_OBJECT_ADDRESS("以唯一标识类型代码以及对象名称和参数数组指定的数据库对象"),
        COL_DESCRIPTION("列注释"),
        CV("从规则的左侧到右侧的维度列或分区列的当前值"),
        SH_OBJECT_DESCRIPTION("OID 指定的共享数据库对象的注释和包含系统目录的名称"),
        INPUT_IS_VALID("测试给定字符串是否是指定数据类型的有效输入"),
        INPUT_ERROR_INFO("测试给定字符串是否是指定数据类型的有效输入"),
        ITERATION_NUMBER("表示通过模型规则完成的迭代"),
        MXID_AGE("当前 MULTIXACTS 计数器之间的 MULTIXACTS ID 数"),
        CURRENT_XACT_ID("当前事务的 ID"),
        CURRENT_XACT_ID_IF_ASSIGNED("当前事务的 ID"),
        XACT_STATUS("最近事务的提交状态"),
        CURRENT_SNAPSHOT("当前快照"),
        SNAPSHOT_XIP("快照中包含的一组正在进行的事务 ID"),
        SNAPSHOT_XMAX("快照的XMAX"),
        SNAPSHOT_XMIN("快照的XMIN"),
        VISIBLE_IN_SNAPSHOT("事务 ID 是否可见"),
        XACT_COMMIT_TIMESTAMP("事务的提交时间戳"),
        XACT_COMMIT_TIMESTAMP_ORIGIN ("事务的提交时间戳和复制源"),
        LAST_COMMITTED_XACT("最新提交事务的事务 ID、提交时间戳和复制源"),
        CONTROL_CHECKPOINT("有关当前检查点状态的信息"),
        CONTROL_SYSTEM("有关当前控制文件状态的信息"),
        CONTROL_INIT("关于簇初始化状态的信息"),
        CONTROL_RECOVERY("恢复状态的信息"),
        UNICODE_VERSION("使用的 UNICODE 版本"),
        ICU_UNICODE_VERSION("ICU 使用的 UNICODE 版本"),
        AVAILABLE_WAL_SUMMARIES("关数据目录中存在的 WAL 摘要文件的信息"),
        WAL_SUMMARY_CONTENTS("有关由TLI标识的单个WAL摘要文件的内容以及开始和结束LSN的信息"),
        GET_WAL_SUMMARIZER_STATE("有关WAL摘要器进度的信息"),
        CANCEL_BACKEND("取消其后端进程具有指定进程 ID 的会话的当前查询"),
        LOG_BACKEND_MEMORY_CONTEXTS("请求日志后端的内存上下文，并指定进程ID"),
        RELOAD_CONF("使 POSTGRESQL 服务器的所有进程重新加载其配置文件"),
        ROTATE_LOGFILE("提示日志文件管理器立即切换到新的输出文件"),
        TERMINATE_BACKEND("终止其后端进程具有指定进程 ID 的会话"),
        CREATE_RESTORE_POINT("在预写日志中创建一个命名标记记录"),
        CURRENT_WAL_FLUSH_LSN("当前预写日志刷新位置"),
        CURRENT_WAL_INSERT_LSN("当前预写日志插入位置"),
        CURRENT_WAL_LSN("当前预写日志写入位置"),
        BACKUP_START("准备服务器开始联机备份"),
        BACKUP_STOP("完成在线备份的执行"),
        SWITCH_WAL("强制服务器切换到新的预写日志文件"),
        WAL_FILE_NAME("将预写日志位置转换为保存该位置的WAL文件的名"),
        WAL_FILE_NAME_OFFSET("将预写日志位置转换为WAL文件名和该文件中的字节偏移量"),
        SPLIT_WAL_FILE_NAME("从 WAL 文件名中提取序列号和时间线 ID"),
        WAL_LSN_DIFF("计算两个预写日志位置之间的字节差"),
        IS_IN_RECOVERY("恢复是否在进行中"),
        LAST_WAL_RECEIVE_LSN("通过流复制接收并同步到磁盘的最后一个预写日志位置"),
        LAST_WAL_REPLAY_LSN("在恢复期间重放的最后一个预写日志位置"),
        LAST_XACT_REPLAY_TIMESTAMP("恢复期间重放的最后一个事务的时间戳"),
        GET_WAL_RESOURCE_MANAGERS("系统中当前加载的 WAL 资源管理器"),
        IS_WAL_REPLAY_PAUSED("请求恢复是否暂停"),
        GET_WAL_REPLAY_PAUSE_STATE("恢复暂停状态"),
        PROMOTE("将备用服务器提升为主状态"),
        WAL_REPLAY_PAUSE("请求暂停恢复"),
        WAL_REPLAY_RESUME("重新启动恢复"),
        EXPORT_SNAPSHOT("保存事务的当前快照并返回标识快照的字符串"),
        LOG_STANDBY_SNAPSHOT("拍摄正在运行的事务的快照并将其写入 WAL"),
        CREATE_PHYSICAL_REPLICATION_SLOT("创建新物理复制槽"),
        DROP_REPLICATION_SLOT("删除物理或逻辑复制槽"),
        CREATE_LOGICAL_REPLICATION_SLOT("使用输出插件插件创建新逻辑（解码）复制槽"),
        COPY_PHYSICAL_REPLICATION_SLOT("复制物理槽"),
        COPY_LOGICAL_REPLICATION_SLOT("复制逻辑槽"),
        LOGICAL_SLOT_GET_CHANGES("槽中的更改，从最后使用更改的点开始"),
        LOGICAL_SLOT_PEEK_CHANGES(""),
        LOGICAL_SLOT_GET_BINARY_CHANGES(""),
        LOGICAL_SLOT_PEEK_BINARY_CHANGES(""),
        REPLICATION_SLOT_ADVANCE("前进复制槽的当前确认位置"),
        REPLICATION_ORIGIN_CREATE("使用给定的外部名称创建复制源，并返回分配给它的内部 ID"),
        REPLICATION_ORIGIN_DROP("删除以前创建的复制源"),
        REPLICATION_ORIGIN_OID("按名称查找复制源并返回内部 ID"),
        REPLICATION_ORIGIN_SESSION_SETUP("将当前会话标记为从给定源的重播"),
        REPLICATION_ORIGIN_SESSION_RESET("取消效果"),
        REPLICATION_ORIGIN_SESSION_IS_SETUP("当前会话中选择了复制源"),
        REPLICATION_ORIGIN_SESSION_PROGRESS("当前会话中选择的复制源的重放位置"),
        REPLICATION_ORIGIN_XACT_SETUP("将当前事务标记为重播在给定 LSN 和时间戳处提交的事务"),
        REPLICATION_ORIGIN_XACT_RESET("取消效果"),
        REPLICATION_ORIGIN_ADVANCE("将给定节点的复制进度设置为给定位置"),
        REPLICATION_ORIGIN_PROGRESS("给定复制源的重放位置"),
        SYNC_REPLICATION_SLOTS("将逻辑故障转移复制槽从主服务器同步到备用服务器"),
        COLUMN_SIZE("显示用于存储任何单个数据值的字节数"),
        COLUMN_COMPRESSION("显示用于压缩单个可变长度值的压缩算法"),
        COLUMN_TOAST_CHUNK_ID("显示磁盘上的 TOASTED 值"),
        DATABASE_SIZE("计算具有指定名称或 OID 的数据库使用的总磁盘空间"),
        INDEXES_SIZE("计算附加到指定表的索引使用的总磁盘空间"),
        RELATION_SIZE("计算指定关系的一个“分支”使用的磁盘空间"),
        SIZE_BYTES("将可读格式的大小转换为字节"),
        SIZE_PRETTY("将以字节为单位的大小转换为更易于阅读的格式"),
        TABLE_SIZE("计算指定表使用的磁盘空间"),
        TABLESPACE_SIZE("计算具有指定名称或 OID 的表空间中使用的总磁盘空间"),
        TOTAL_RELATION_SIZE("计算指定表使用的总磁盘空间"),
        RELATION_FILE_NODE("当前分配给指定关系的“FILENODE”编号"),
        RELATION_FILEPATH("关系的整个文件路径名"),
        FILE_NODE_RELATION("给定表空间 OID 和存储它的文件节点"),
        COLLATION_ACTUAL_VERSION("排序规则对象当前安装在作系统中的实际版本"),
        DATABASE_COLLATION_ACTUAL_VERSION("当前安装在作系统中的数据库排序规则的实际版本"),
        IMPORT_SYSTEM_COLLATIONS("根据它在作系统中找到的所有区域设置将排序规则添加到系统目录中"),
        RESTORE_RELATION_STATS("更新表级统计信息"),
        CLEAR_RELATION_STATS("清除给定关系的表级统计信息"),
        RESTORE_ATTRIBUTE_STATS("创建或更新列级统计信息"),
        CLEAR_ATTRIBUTE_STATS("清除给定关系和属性的列级统计信息"),
        PARTITION_TREE("列出给定分区表或分区索引的分区树中的表或索引"),
        PARTITION_ANCESTORS("列出给定分区的祖先关系"),
        PARTITION_ROOT("给定关系所属的分区树的最顶层父级"),
        BRIN_SUMMARIZE_NEW_VALUES("查找基表中索引当前未汇总的页面范围"),
        BRIN_SUMMARIZE_RANGE("汇总涵盖给定块的页面范围"),
        BRIN_DE_SUMMARIZE_RANGE("删除汇总覆盖给定表块的页面范围的 BRIN 索引元组。"),
        GIN_CLEAN_PENDING_LIST("通过将指定 GIN 索引中的条目批量移动到主 GIN 数据结构来清理指定 GIN 索引的“待处理”列表"),
        LS_DIR("指定目录中所有文件"),
        LS_LOG_DIR("服务器日志目录中每个普通文件的名称、大小和上次修改时间"),
        LS_WAL_DIR("服务器预写日志 （WAL） 目录中每个普通文件的名称、大小和上次修改时间"),
        LS_LOGICAL_MAP_DIR("服务器目录中每个普通文件的名称、大小和上次修改时间"),
        LS_LOGICALS_NAP_DIR("服务器目录中每个普通文件的名称、大小和上次修改时间"),
        LS_REPLSLOT_DIR("服务器目录中每个普通文件的名称、大小和上次修改时间"),
        LS_SUMMARIES_DIR("服务器的WAL摘要目录中每个普通文件的名称，大小和上次修改时间"),
        LS_ARCHIVE_STATUS_DIR("服务器的WAL存档状态目录中每个普通文件的名称，大小和上次修改时间"),
        LS_TMPDIR("指定表空间的临时文件目录中每个普通文件的名称、大小和上次修改时间"),
        READ_FILE("文本文件的全部或部分，从给定的字节偏移量开始，返回最长的字节"),
        READ_BINARY_FILE("全部或部分文件"),
        ADVISORY_LOCK_SHARED("获取共享会话级咨询锁"),
        ADVISORY_LOCK("获取独占会话级咨询锁"),
        ADVISORY_UNLOCK("释放以前获取的独占会话级咨询锁"),
        ADVISORY_UNLOCK_ALL("释放当前会话持有的所有会话级公告锁"),
        ADVISORY_UNLOCK_SHARED("释放先前获得的共享会话级咨询锁"),
        ADVISORY_XACT_LOCK("获得专属的交易级咨询锁"),
        ADVISORY_XACT_LOCK_SHARED("获得共享的交易级咨询锁"),
        TRY_ADVISORY_LOCK("获得独占的会话级咨询锁"),
        TRY_ADVISORY_LOCK_SHARED("共享会话级的咨询锁"),
        TRY_ADVISORY_XACT_LOCK("获得专属的交易级咨询锁"),
        TRY_ADVISORY_XACT_LOCK_SHARED("获取共享事务级咨询锁"),
        SUPPRESS_REDUNDANT_UPDATES_TRIGGER("禁止执行不执行任何作的更新作"),
        TS_VECTOR_UPDATE_TRIGGER("自动更新关联的纯文本文档列中的列"),
        TS_VECTOR_UPDATE_TRIGGER_COLUMN("自动更新关联的纯文本文档列中的列"),
        EVENT_TRIGGER_DDL_COMMANDS("每个用户作执行的 DDL 命令列表"),
        EVENT_TRIGGER_TABLE_REWRITE_OID("即将重写的表的 OID"),
        EVENT_TRIGGER_TABLE_REWRITE_REASON("解释重写原因的代码"),
        MCV_LIST_ITEMS("存储在多列 MCV 列表中的所有项目"),
        VALIDATE_CONVERSION("是否可以将给定的表达式转换为给定的数据类型"),
        VSIZE("内部表示中的字节数")
        ;
        META(String title){
            this.title = title;
            this.synonym = null;
        }
        META(String title, META synonym) {
            this.title = title;
            this.synonym = synonym;
        }
        private final META synonym;
        private final String title;
        public String title() {
            return title;
        }
    }

    /**
     * 数据库类型
     * @return DatabaseType
     */
    DatabaseType database();

    /**
     * 参数,注意参数有可能是个函数
     * @return list
     */
    List<String> params();
    void params(List<String> params);

    /**
     * 转换后格式
     * @return 转换后格式
     */
    String formula();

    META meta();

}